package com.ssyt.yt1.day20;

import java.io.File;
import java.io.IOException;

/**
 * 文件类
 * 
 * @author Administrator
 *
 */
public class FileDemo {

	/**
	 * 常用属性或方法
	 * 
	 * @throws IOException
	 */
	public static void test1() throws IOException {
		// window \\、 linux /
		// String pathname = "d:" + File.separator + "03.jpg";
		String pathname = "d:/03.jpg";
		// 创建一个文件对象
		File file = new File(pathname);
		// 直接打印重写过toString的，所以打印出来的是路径
		System.out.println(file);
		// 判断是一个文件还是文件夹
		System.out.println(file.isFile());
		System.out.println(file.isDirectory());
		// 判断文件的路径打印出来
		System.out.println(file.getPath()); // file.getAbsolutePath();
		// 获取文件的大小(字节)
		System.out.println(file.length());
		// 获取文件是否存在，如果不存在把这个文件创建出来
		File file2 = new File("d:/04/05/06");
		if (file2.exists()) {
			System.out.println("文件存在，已删除...");
			// If this pathname denotes a directory, then the directory must be
			// empty in order to be deleted.
			file2.delete();
		} else {
			System.out.println("文件不存在，已创建...");
			// 创建文件
			// file2.createNewFile();
			// 创建文件夹
			file2.mkdir(); // file2.mkdirs();
		}
		// 只能获取文件上次修改时间，不能获取创建时间，如果要获取创建时间必须得用JDK7提供的NIO
		System.out.println(file.lastModified());
	}

	/**
	 * 把指定盘符下面的文件全部打印出来
	 * 
	 * @param file
	 */
	public static void test2(File file) {
		File[] files = file.listFiles();
		for (int i = 0; i < files.length; i++) {
			if (files[i].isDirectory()) {
				test2(files[i]);
			} else {
				System.out.println(files[i]);
			}
		}
	}

	/**
	 * 把指定盘符下面的文件全部删除
	 * 
	 * @param file
	 */
	public static void test3(File file) {
		File[] files = file.listFiles();
		for (int i = 0; i < files.length; i++) {
			if (files[i].isDirectory()) {
				test3(files[i]);
			} else {
				files[i].delete();
			}
			// 删除文件夹
			files[i].delete();
		}
	}

	public static void main(String[] args) throws IOException {
		// test1();
		// test2(new File("d:"));
		test3(new File("d:/foxit"));
	}
}
